UPDATED: October 18 2010
------------------------

This folder contains the following TinyOS software to be used with The Samraksh Company's Pulsed Doppler Radar sensor (codename BumbleBee):

1. Device drivers for TelosB/TmoteSky and IRIS/MICAz motes: The device drivers for the Pulsed Doppler Radar allow precise sampling of the I and Q channel outputs on the radar with very small inter-channel sampling delays. The drivers also include DAC functionality for the Telos platforms to set the range of the radar in software. Drivers are available for the TelosB/TmoteSky platforms under subdirectory drivers/telos and for the IRIS/MICAz platforms under subdirectory drivers/iris. The Makefiles for the sample applications include the corresponding driver directories based on the specified platform.

2. Device drivers for using the TelosB/TmoteSky as an ADC surrogate for an Imote2 (or similar) device: The ImoteSensorClient module enables the use of a TelosB/TmoteSky mote as a surrogate ADC for the IMote2. The ImoteSensorClient program accepts commands over the I2C bus for sampling the BumbleBee radar outputs connected to the TelosB/TmoteSky ADC ports. Two methods of data acquisition are supported: single sample - where the Imote2 sends a request for each sample and a 1-second snippet - where the client collects a 1-second snippet of data using its own timer and signals a dataReady to the Imote2 using a GPIO pin. 

3. Data collection modules: The RadarDataCollect module samples the radar using the device drivers and sends the sampled values to a base station PC or laptop over the serial port. Each sample (of I and Q values) is sent as a separate packet. The WirelessRadarDataCollect module also samples radar data but sends it over the wireless channel to another base station mote. To preserve bandwidth, the wireless collection module packs several samples into one packet.

4. Sample Application - Threshold based detector

This detector use a simple thresholding and hysteresis logic to detect moving objects in the radar range. The detector calibrates the DC noise floor level statically by estimating the mean signal level over the first 10 seconds so the radar should be powered up prior to the mote being started. Threhold values for the Telos and IRIS/MICAz platforms are different because of the different range of ADC outputs for these platforms (12-bit vs 10-bit). Upon detection, the mote turns ON Led0 as long as it continues to observe motion. We provide two versions of this detector (SimpleRadarDetector and WirelessSimpleRadarDetector), which send out detection start/stop messages either over the serial or wireless channels. For the wireless version, we also provide a RemoteDetectorViz application that receives these detection messages and toggles its Led0 to indicate start/stop, thus allowing for remote visualization of detection events.